5a9943cf117e1d1f5c19e14ede5fb4fef58ca37c,src/main/java/com/github/shyiko/mysql/binlog/event/deserialization/AbstractRowsEventDataDeserializer.java,AbstractRowsEventDataDeserializer,deserializeDatetimeV2,#number#ByteArrayInputStream#,281
Before Change
long datetime = bigEndianLong(inputStream.read(5), 0, 5);
int yearMonth = extractBits(datetime, 1, 17, 40);
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, yearMonth / 13);
c.set(Calendar.MONTH, yearMonth % 13 - 1);
c.set(Calendar.DAY_OF_MONTH, extractBits(datetime, 18, 5, 40));
c.set(Calendar.HOUR_OF_DAY, extractBits(datetime, 23, 5, 40));
c.set(Calendar.MINUTE, extractBits(datetime, 28, 6, 40));
c.set(Calendar.SECOND, extractBits(datetime, 34, 6, 40));
c.set(Calendar.MILLISECOND, deserializeFractionalSeconds(meta, inputStream));
return c.getTime();
}
After Change
*/
long datetime = bigEndianLong(inputStream.read(5), 0, 5);
int yearMonth = bitSlice(datetime, 1, 17, 40);
Long timestamp = asUnixTime(
yearMonth / 13,
yearMonth % 13,
bitSlice(datetime, 18, 5, 40),
bitSlice(datetime, 23, 5, 40),
bitSlice(datetime, 28, 6, 40),
bitSlice(datetime, 34, 6, 40),
deserializeFractionalSeconds(meta, inputStream)
);
return timestamp != null ? new java.util.Date(timestamp) : null;
}
protected Serializable deserializeYear(ByteArrayInputStream inputStream) throws IOException {